package com.example.myapplication

import android.app.Activity
import android.os.Bundle
import com.example.annotation.Test
import com.orhanobut.logger.Logger
import kotlinx.coroutines.*
import kotlin.coroutines.*

/**
 * 类描述:
 * 创建人:   tangchao$
 * 创建时间: 2021/6/30$ 10:13 PM$
 * 联系方式: 419704299@qq.com
 * 修改人:   tangchao$
 * 修改时间: 2021/6/30$ 10:13 PM$
 * 修改备注:  [说明本次修改内容]
 */
//通过委托
@Test
class KotlinCoroutine : Activity() ,CoroutineScope by MainScope(){
//    val mainScope= MainScope()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
//        val continuation = suspend {
//            5
//        }.createCoroutine(object : Continuation<Int> {
//            override val context: CoroutineContext = EmptyCoroutineContext
//
//            override fun resumeWith(result: Result<Int>) {
//                Logger.d("KotlinCoroutine===resumeWith:$result ");
//
//            }
//        })
//        continuation.resume(Unit)

//        mainScope.launch {
//            withContext(Dispatchers.IO){
//                delay(1000)
//                Logger.d("===: ");
//
//            }
//
//        }
//通过委托的方式。直接使用launch开启协程
        launch {
            withContext(Dispatchers.IO){
                delay(1000)
                Logger.d("KotlinCoroutine===onCreate: ");

            }
        }


    }

    override fun onDestroy() {
        super.onDestroy()
//        mainScope.cancel()
        cancel()
    }

}